package com.novanok.micurso;

import android.app.Activity;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import android.widget.LinearLayout;

import com.firebase.client.Firebase;
import com.firebase.client.FirebaseError;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;
import com.novanok.micurso.entidad.Curso;
import com.novanok.micurso.entidad.Profesor;

import java.util.HashMap;
import java.util.Map;
import java.util.Objects;

/**
 * Created by Marcos on 07/12/2014.
 */
public class ProfesorActivity extends Activity {

    private AdView adView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.profesor_activity);

        adView = new AdView(this);
        adView.setAdUnitId("ca-app-pub-8819200492193671/8681082342");
        adView.setAdSize(AdSize.BANNER);
        LinearLayout layout = (LinearLayout) findViewById(R.id.banner2);
        layout.addView(adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        adView.loadAd(adRequest);

        Firebase.setAndroidContext(this);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.curso_item, menu);
        return true;
    }


    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch ( item.getItemId() ) {
            case R.id.aceptar:
                this.nuevoProfesor();
                return true;

            case R.id.cancelar:
                finish();
                return true;

            default:
                return super.onOptionsItemSelected(item);
        }
    }

    private void nuevoProfesor(){
        String email = ((EditText)findViewById(R.id.txtEmail)).getText().toString();
        String nombre = ((EditText)findViewById(R.id.txtNombre)).getText().toString();

        boolean resultado = true;
        if ( resultado && email.trim().compareTo("") == 0 ){
            resultado = false;
            Mensaje.getMensaje().mostrarInformacion(this,ProfesorActivity.this.getResources().getString(R.string.emailEmpty), new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                }
            });
        }

        if ( resultado && nombre.trim().compareTo("") == 0 ){
            resultado = false;
            Mensaje.getMensaje().mostrarInformacion(this, ProfesorActivity.this.getResources().getString(R.string.nameEmpty), new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {

                }
            });
        }

        if ( resultado ) {
            final Profesor p = new Profesor();
            p.setNombre(nombre);
            p.setEmail(email);
            p.setProfesor_id(email.replace(".", ""));

            Firebase rootRef = new Firebase("https://mi-curso.firebaseio.com/profesor/" + p.getProfesor_id());

            Map<String, String> colabo = new HashMap<String, String>();

            colabo.put("nombre", p.getNombre());
            colabo.put("email", p.getEmail());

            rootRef.setValue(colabo, new Firebase.CompletionListener() {
                @Override
                public void onComplete(FirebaseError firebaseError, Firebase firebase) {
                    SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(ProfesorActivity.this);
                    sharedPref.edit().putString("profesor_id", p.getProfesor_id()).apply();
                    ProfesorActivity.this.finish();
                }
            });
        }
    }
}
